package com.mirai.mirai_boot.api;

import com.mirai.mirai_boot.entity.MyMsg;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.net.URL;

/**
 * @author : CP
 * @version: 1.0
 * @program : simbot_mirai_springboot
 * @description : 爬取百度百科api
 * @date : 2021-06-28 08:04
 **/
@Component
public class BaiduBaikeApi {

    /**
     * 从百度百科爬取数据
     * @param para 参数
     * @return 返回的内容和图片
     * @throws IOException
     */
    public MyMsg getFindBaike(String para) throws IOException {
        String url = "https://baike.baidu.com/item/"+para;

        // 解析网页 （Jsou返回的Document就是浏览器的Docuement对象）
        Document document = Jsoup.parse(new URL(url), 6000);
        String aClass = document.getElementsByClass("body-wrapper").attr("class");

        // 处理不同情况页面
        String content = aClass.equals("body-wrapper")?"content":"poster";
        Elements elementsByClass = document.getElementsByClass(content);

        for (Element byClass : elementsByClass) {
            String text = byClass.getElementsByClass("lemma-summary").eq(0).text();
            String img = byClass.select("div[class='summary-pic']").select("img").attr("src");

            System.out.println("百科内容：======》"+text);
            System.out.println("百科图片:=======>"+img);

            // 返回结果
            MyMsg myMsg = new MyMsg(text, img);
            return myMsg;
        }
        return null;
    }
}
